<?php
require_once 'Panel/UsersModel.php';
require_once 'Panel/UsersView.php';
class UsersController{
	private $_parameters;
	function __construct($__parameters){
		$this->_parameters = explode(',',isset($_REQUEST['parameters'])? $_REQUEST['parameters']: "");
	}
	
	function indexAction(){
		global $objSession;
		if ( $objSession->IsLoggedIn()  && $objSession->GetUserData("stanowisko") == 'a'){		
			$__users = UsersModel::get_registred_users_list();				
			users_view::schow_users_list($__users);
		}elseif ( $objSession->IsLoggedIn()  && $objSession->GetUserData("stanowisko") != 'a'){
			$this->edituserAction($objSession->GetUserData('id'));
		}else{
			tools::_redirect('zaloguj_sie.html');
		}
	}
	
	public function edituseradminAction(){
		global $objSession;
		if ( !$objSession->IsLoggedIn()  || $objSession->GetUserData("stanowisko")!= 'a'){
			tools::_redirect('zaloguj_sie.html');
			exit;
		}
		$__user = UsersModel::get_user_info_to_edit($this->_parameters[2]);	
		users_view::edit_user_info($__user);
	}
	
	public function edituserAction(){
		global $objSession;
		if ( !$objSession->IsLoggedIn()  || $objSession->GetUserData("stanowisko")!= 'u'){
			tools::_redirect('zaloguj_sie.html');
			exit;
		}
		$__user = UsersModel::get_user_info_to_edit($objSession->GetUserData('id'));
		users_view::edit_user_info($__user,"const_edit_user_by_user.tpl");
	}

	public function saveuserbyadminAction(){		
		global $objSession;
		if ( !$objSession->IsLoggedIn()  || $objSession->GetUserData("stanowisko")!= 'a'){
			tools::_redirect('zaloguj_sie.html','Nie posiadasz uprawnień do tej operacji');
			exit;
		}
		$__result = UsersModel::save_update_user();
	}
	
	public function updateUserAction(){
		global $objSession;
		if ( !$objSession->IsLoggedIn()){
			tools::_redirect('zaloguj_sie.html','Nie posiadasz uprawnień do tej operacji');
			exit;
		}
		$__result = UsersModel::save_update_user();
	}
	
	public function UsunAction($id=null){
		global $objSession;
		if ( !$objSession->IsLoggedIn()  || $objSession->GetUserData("stanowisko")!= 'a'){
			tools::_redirect('zaloguj_sie.html','Nie posiadasz uprawnień do tej operacji');
			exit;
		}
		$__result = UsersModel::deleteUser($id);
		tools::_redirect('zarzadzaj_uzytkownikami.html','Wczytywanie strony...');
	}
	
	public function BlokujAction($id=null){
		global $objSession;
		if ( !$objSession->IsLoggedIn()  || $objSession->GetUserData("stanowisko")!= 'a'){
			tools::_redirect('zaloguj_sie.html','Nie posiadasz uprawnień do tej operacji');
			exit;
		}
		$__result = UsersModel::blokujUzytkownika($id);
		tools::_redirect('zarzadzaj_uzytkownikami.html','Wczytywanie strony...');		
	}
	
	public function mailingAction(){
		global $objSession, $config;
		if ( !$objSession->IsLoggedIn()  || $objSession->GetUserData("stanowisko")!= 'a'){
			tools::_redirect('zaloguj_sie.html','Nie posiadasz uprawnień do tej operacji');
			exit;
		}		
		$nadawca = $objSession->GetUserData("imie").' '.$objSession->GetUserData("nazwisko");
		$adresNadawcy = $objSession->GetUserData("email");
		foreach ($config->userID as $id__ => $user) {
			$user = UsersModel::get_user_info_to_edit($id__);			
		 	$result = tools::__wiadomosc($nadawca,$adresNadawcy,$user['email'],$config->temat,$config->mailbody);
		 	if($result) echo "Wiadomośc wysłana do {$user['imie']} {$user['nazwisko']} ( {$user['email']} )<br/>" ;
		 	else "-> Wiadomośc nie wysłana do {$user['imie']} {$user['nazwisko']} ( {$user['email']} )<br/>";
		}
		
		tools::_redirect('zarzadzaj_uzytkownikami.html','Wysyłanie wiadomości...',3);
	}
}